const express = require('express');
const dotenv = require('dotenv');
const connectDB = require('./config/db');

// 加载环境变量
dotenv.config();

// 连接数据库
connectDB();

// 初始化 Express
const app = express();

// 中间件
app.use(express.json());

// 路由
app.use('/api/users', require('./routes/userRoutes'));

// 首页路由
app.get('/', (req, res) => {
  res.json({
    success: true,
    message: '登录注册服务 API 运行中',
  });
});

// 处理未找到的路由
app.use((req, res) => {
  res.status(404).json({
    success: false,
    message: '找不到请求的资源',
  });
});

// 设置端口并启动服务器
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => {
  console.log(`服务器运行在 0.0.0.0:${PORT}`);
});

// 处理未捕获的异常
process.on('unhandledRejection', (err) => {
  console.log(`错误: ${err.message}`);
  // 关闭服务器并退出进程
  process.exit(1);
}); 